home *** CD-ROM | disk | FTP | other *** search
- /*
- ARTemis (Graphic Editor for FM-TOWNS)
- (c) MATSUUCHI Ryosuke 1992,1993
-
- poly.c
-
- 「ポリゴン」コマンド
- */
-
-
- #include <stdio.h>
- #include "ge.h"
- #include "imageman.h"
- #include "dispman.h"
-
-
- void cmd_polygon()
- {
- for (;;)
- {
- if (area_input(AREA_POLYGON) != 0)
- break;
- EIMbackup();
- int ax1,ay1,ax2,ay2;
- area_getboundxy(&ax1,&ay1,&ax2,&ay2);
- int x,y,mix;
- mix = getmixrate();
- ax1 = _lim(ax1, 0, EIMgetxsize());
- ax2 = _lim(ax2, 0, EIMgetxsize());
- ay1 = _lim(ay1, 0, EIMgetysize());
- ay2 = _lim(ay2, 0, EIMgetysize());
- for (y=ay1; y<=ay2; y++)
- {
- x = ax1 + area_chkxylen(ax1,ax2,y,YES);
- while (x<=ax2)
- {
- int l;
- if ((l = area_chkxylen(x,ax2,y,NO)) == 0)
- break;
- EIMgrayhline(x,x+l-1,y,forecol,mix,NO);
- x += l + area_chkxylen(x+l,ax2,y,YES);
- }
- }
- }
- }
-
-
- /* end of poly.c */
-